home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / program / n_b_v203.zip / FILLLOAD.DMO < prev    next >
Text File  |  1996-07-04  |  4KB  |  82 lines

  1. $if 0
  2.     ┌──────────────────────────╖                        PowerBASIC v3.20
  3.  ┌──┤          DASoft          ╟──────────────────────┬──────────────────╖
  4.  │  ├──────────────────────────╢    Copyright 1995    │ DATE: 1995-10-01 ╟─╖
  5.  │  │ FILE NAME   FILLLOAD.DMO ║          by          ╘════════════════─ ║ ║
  6.  │  │                          ║  Don Schullian, Jr.                     ║ ║
  7.  │  ╘══════════════════════════╝                                         ║ ║
  8.  │ A license is hereby granted to the holder to use this source code in  ║ ║
  9.  │ any program, commercial or otherwise,  without receiving the express  ║ ║
  10.  │ permission of the copyright holder and without paying any royalties,  ║ ║
  11.  │ as long as this code is not distributed in any compilable format.     ║ ║
  12.  │  IE: source code files, PowerBASIC Unit files, and printed listings   ║ ║
  13.  ╘═╤═════════════════════════════════════════════════════════════════════╝ ║
  14.    │                ....................................                   ║
  15.    ╘═══════════════════════════════════════════════════════════════════════╝
  16. $endif
  17.  
  18. '.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°.°
  19. ' ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °
  20.  
  21. $INCLUDE "DAS-NB01.INC"
  22. COLOR 7,0
  23. CLS
  24.  
  25. ? "┌────────────────────────────────────────────────────────────────────
  26. ? "│ QFillBarr, QFillIarr, QFillLarr            QFillBptr, QFillIptr, QFillLptr
  27. ? "│ Many times I have found it necessary to fill an array or chunk of memory
  28. ? "│ with a particular value (usually 0). If you know the array's handle and
  29. ? "│ ZERO is the value you seek then REDIM works just fine, but there are times
  30. ? "│ when the whole array can't be zeroed, the routine is working with pointers
  31. ? "│ and/or zero is not the required value. The biggest differences in these 6
  32. ? "│ subs is that: 3 work on numeric variables, 3 work on far pointers and
  33. ? "│ there are 1byte, 2byte and 4byte versions of each.
  34. ? "│ Of the 3 calls to QFillXArr, below, the first and last are good examples
  35. ? "│ of what <<NOT>> to do unless you want permanently grey hair!
  36. ? "├────────────────────────────────────────────────────────────────────────────
  37. ? "│ QLoadBarr, QLoadIarr                       QLoadBptr, QLoadIptr
  38. ? "│ These four are kissin' cousins to the ones above and work just a bit
  39. ? "│ differently in that they increment the incoming value so each element
  40. ? "│ is 1 greater than the previous element.
  41. ? "└────────────────────────────────────────────────────────────────────────────
  42.  
  43. DIM I%(99)
  44.  
  45. QFillBarr I%(0), 1, 200
  46.   PRINT "CALL QfillBarr( I%(0), 1, 200 ) :";
  47.   FOR X% = 0 TO 3
  48.     PRINT USING "  I%(#)=###"; X%, I%(X%);
  49.   NEXT
  50.   PRINT
  51.  
  52. QFillIarr I%(0), 1, 100
  53.   PRINT "CALL QfillIarr( I%(0), 1, 100 ) :";
  54.   FOR X% = 0 TO 3
  55.     PRINT USING "  I%(#)=###"; X%, I%(X%);
  56.   NEXT
  57.   PRINT
  58.  
  59. QFillLarr I%(0), 1, 50
  60.   PRINT "CALL QfillLarr( I%(0), 1,  50 ) :";
  61.   FOR X% = 0 TO 3
  62.     PRINT USING "  I%(#)=###"; X%, I%(X%);
  63.   NEXT
  64.   PRINT
  65.   PRINT
  66.  
  67. B$ = SPACE$(26) : Bptr??? = STRPTR32( B$ )
  68. QLoadBarr BYVAL Bptr???, 65, 26
  69.   PRINT "B$      = SPACE$(26)
  70.   PRINT "Bptr??? = STRPTR32( B$ )"
  71.   PRINT "CALL QLoadBarr(BYVAL Bptr???,65,26) :  B$="; B$
  72.  
  73. DIM I??(100)
  74. DIM I_ptr AS WORD PTR
  75. I_ptr = VARPTR32( I??(0) )
  76. QLoadIarr BYVAL I_ptr, 0, 100
  77.   PRINT "CALL QLoadIarr(I??(0), 0,100) : ";
  78.   FOR X% = 0 TO 3
  79.     PRINT USING " I??(#)=##"; X%, I??(X%);
  80.   NEXT
  81.  
  82.